package demo02;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: YKH
 * Date: 2022-03-28
 * Time: 14:33
 */
//主类
public class Demo02 {
    public static void main(String[] args) {
        /* 类型转换
          父类 ：高         子类：低
          向上转型 ：把子类对象转换成父类  低 -> 高   可能会丢失一些子类本来的方法
          向下转型 ：把父类对象转换成子类  高 -> 低   需要强制类型转换
        */
        //向下转型举例：
        Person person = new Student();
        /*此处 person 是 父类类型的 -> 子类的对象，
          要想通过 perosn 调用 子类中的方法需要通过
          强制类型转换，将 person 强转为 子类
         */
         /*第一种写法
        Student s1 = (Student) person;
        s1.run();
          */
        //第二种写法
        ((Student)person).run();

        //向上转型举例
        Student student = new Student();
        Person person1 = student;  //此处转换 子类引用转换成了 父类的引用，丢失了子类的方法
        //person1.run();   //此处报错，无法调用子类中的run方法
    }
}
